home *** CD-ROM | disk | FTP | other *** search
MacBinary | 1994-09-15 | 11.9 KB | [TEXT/MMCC] |
open in:
MacOS 8.1
|
Win98
|
DOS
browse contents |
view JSON data
|
view as text
This file was processed as: MacBinary
(archive/macBinary).
Confidence | Program | Detection | Match Type | Support
|
---|
10%
| dexvert
| MacBinary (archive/macBinary)
| fallback
| Supported |
1%
| dexvert
| MS-DOS Code Page Info (other/dosCodePage)
| ext
| Unsupported |
1%
| dexvert
| Text File (text/txt)
| fallback
| Supported |
100%
| file
| MacBinary II, inited, Thu Sep 15 20:27:10 1994, modified Thu Sep 15 20:27:10 1994, creator 'MMCC', type ASCII, 11629 bytes "CTwistDownListBox.cp" , at 0x2ded 382 bytes resource
| default (weak)
| |
99%
| file
| data
| default
| |
49%
| TrID
| Macintosh plain text (MacBinary)
| default
| |
33%
| TrID
| raw Group 3 FAX bitmap
| default (weak)
| |
16%
| TrID
| MacBinary 2
| default (weak)
| |
100%
| siegfried
| fmt/1762 MacBinary (II)
| default
| |
100%
| lsar
| MacBinary
| default
|
|
id metadata |
---|
key | value |
---|
macFileType | [TEXT] |
macFileCreator | [MMCC] |
hex view+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 14 43 54 77 69 73 74 | 44 6f 77 6e 4c 69 73 74 |..CTwist|DownList|
|00000010| 42 6f 78 2e 63 70 00 00 | 00 00 00 00 00 00 00 00 |Box.cp..|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 54 45 58 54 4d 4d 43 | 43 01 00 00 00 00 00 00 |.TEXTMMC|C.......|
|00000050| 00 00 00 00 00 2d 6d 00 | 00 01 7e aa 9e 96 de aa |.....-m.|..~.....|
|00000060| 9e 96 de 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 45 01 00 00 |........|....E...|
|00000080| 2f 2f 20 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |// =====|========|
|00000090| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000000a0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000000b0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000000c0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 0d 2f |========|======./|
|000000d0| 2f 09 43 54 77 69 73 74 | 44 6f 77 6e 4c 69 73 74 |/.CTwist|DownList|
|000000e0| 42 6f 78 2e 68 09 09 09 | a9 31 39 39 34 20 4a 61 |Box.h...|.1994 Ja|
|000000f0| 6e 20 42 72 75 79 6e 64 | 6f 6e 63 6b 78 20 41 6c |n Bruynd|onckx Al|
|00000100| 6c 20 72 69 67 68 74 73 | 20 72 65 73 65 72 76 65 |l rights| reserve|
|00000110| 64 2e 0d 2f 2f 09 76 31 | 2e 30 20 31 38 2f 36 2f |d..//.v1|.0 18/6/|
|00000120| 39 34 0d 2f 2f 20 20 49 | 6e 73 70 69 72 65 64 20 |94.// I|nspired |
|00000130| 62 79 20 4d 2e 4d 69 6e | 6f 77 27 73 20 61 72 74 |by M.Min|ow's art|
|00000140| 69 63 6c 65 20 69 6e 20 | 44 65 76 65 6c 6f 70 20 |icle in |Develop |
|00000150| 31 38 0d 2f 2f 0d 2f 2f | 09 41 20 68 69 65 72 61 |18.//.//|.A hiera|
|00000160| 72 63 68 69 63 61 6c 20 | 6c 69 73 74 62 6f 78 20 |rchical |listbox |
|00000170| 73 75 62 63 6c 61 73 73 | 2e 0d 2f 2f 20 20 54 68 |subclass|..// Th|
|00000180| 65 20 64 65 66 61 75 6c | 74 20 6c 69 73 74 62 6f |e defaul|t listbo|
|00000190| 78 20 63 6f 6e 74 61 69 | 6e 73 20 6f 6e 6c 79 20 |x contai|ns only |
|000001a0| 73 74 72 69 6e 67 20 64 | 61 74 61 2e 0d 2f 2f 20 |string d|ata..// |
|000001b0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000001c0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000001d0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000001e0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000001f0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 0d 0d 23 69 6e |========|===..#in|
|00000200| 63 6c 75 64 65 20 3c 74 | 79 70 65 73 2e 68 3e 0d |clude <t|ypes.h>.|
|00000210| 23 69 6e 63 6c 75 64 65 | 20 3c 73 74 72 69 6e 67 |#include| <string|
|00000220| 73 2e 68 3e 0d 23 69 6e | 63 6c 75 64 65 20 3c 73 |s.h>.#in|clude <s|
|00000230| 74 72 69 6e 67 2e 68 3e | 0d 23 69 6e 63 6c 75 64 |tring.h>|.#includ|
|00000240| 65 20 3c 50 61 6c 65 74 | 74 65 73 2e 68 3e 0d 23 |e <Palet|tes.h>.#|
|00000250| 69 6e 63 6c 75 64 65 20 | 22 43 54 77 69 73 74 44 |include |"CTwistD|
|00000260| 6f 77 6e 4c 69 73 74 42 | 6f 78 2e 68 22 0d 0d 2f |ownListB|ox.h"../|
|00000270| 2f 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |/-------|--------|
|00000280| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000290| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000002a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000002b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 0d 2f 2f |--------|-----.//|
|000002c0| 20 54 68 65 20 74 72 69 | 61 6e 67 65 73 0d 0d 50 | The tri|anges..P|
|000002d0| 6f 6c 79 48 61 6e 64 6c | 65 09 43 54 77 69 73 74 |olyHandl|e.CTwist|
|000002e0| 44 6f 77 6e 4c 69 73 74 | 42 6f 78 3a 3a 73 43 6c |DownList|Box::sCl|
|000002f0| 6f 73 65 64 50 6f 6c 79 | 20 3d 20 4e 55 4c 4c 2c |osedPoly| = NULL,|
|00000300| 0d 20 20 09 09 09 43 54 | 77 69 73 74 44 6f 77 6e |. ...CT|wistDown|
|00000310| 4c 69 73 74 42 6f 78 3a | 3a 73 4f 70 65 6e 65 64 |ListBox:|:sOpened|
|00000320| 50 6f 6c 79 20 3d 20 4e | 55 4c 4c 2c 0d 20 20 09 |Poly = N|ULL,. .|
|00000330| 09 09 43 54 77 69 73 74 | 44 6f 77 6e 4c 69 73 74 |..CTwist|DownList|
|00000340| 42 6f 78 3a 3a 73 49 6e | 74 65 72 6d 65 64 69 61 |Box::sIn|termedia|
|00000350| 74 65 50 6f 6c 79 20 3d | 20 4e 55 4c 4c 20 3b 0d |tePoly =| NULL ;.|
|00000360| 0d 73 74 61 74 69 63 20 | 76 6f 69 64 20 44 72 61 |.static |void Dra|
|00000370| 77 54 72 69 61 6e 67 6c | 65 20 28 50 6f 6c 79 48 |wTriangl|e (PolyH|
|00000380| 61 6e 64 6c 65 20 61 50 | 6f 6c 79 2c 20 63 6f 6e |andle aP|oly, con|
|00000390| 73 74 20 42 6f 6f 6c 65 | 61 6e 20 64 72 61 77 46 |st Boole|an drawF|
|000003a0| 69 6c 6c 65 64 2c 0d 09 | 09 20 20 20 20 09 09 09 |illed,..|. ...|
|000003b0| 20 20 63 6f 6e 73 74 20 | 73 68 6f 72 74 20 70 6f | const |short po|
|000003c0| 73 56 2c 20 63 6f 6e 73 | 74 20 73 68 6f 72 74 20 |sV, cons|t short |
|000003d0| 70 6f 73 48 29 20 3b 0d | 0d 2f 2f 20 54 68 65 73 |posH) ;.|.// Thes|
|000003e0| 65 20 6d 61 63 72 6f 73 | 20 73 69 6d 70 6c 69 66 |e macros| simplif|
|000003f0| 79 20 61 63 63 65 73 73 | 20 74 6f 20 74 68 65 20 |y access| to the |
|00000400| 66 6c 61 67 20 77 6f 72 | 64 20 69 6e 20 74 68 65 |flag wor|d in the|
|00000410| 20 6c 69 73 74 20 65 6c | 65 6d 65 6e 74 2e 0d 23 | list el|ement..#|
|00000420| 64 65 66 69 6e 65 20 53 | 65 74 54 44 46 6c 61 67 |define S|etTDFlag|
|00000430| 28 66 6c 61 67 73 2c 20 | 6d 61 73 6b 29 09 09 28 |(flags, |mask)..(|
|00000440| 28 66 6c 61 67 73 29 20 | 7c 3d 20 28 6d 61 73 6b |(flags) ||= (mask|
|00000450| 29 29 0d 23 64 65 66 69 | 6e 65 20 43 6c 65 61 72 |)).#defi|ne Clear|
|00000460| 54 44 46 6c 61 67 28 66 | 6c 61 67 73 2c 20 6d 61 |TDFlag(f|lags, ma|
|00000470| 73 6b 29 09 28 28 66 6c | 61 67 73 29 20 26 3d 20 |sk).((fl|ags) &= |
|00000480| 7e 28 6d 61 73 6b 29 29 | 0d 23 64 65 66 69 6e 65 |~(mask))|.#define|
|00000490| 20 49 6e 76 65 72 74 54 | 44 46 6c 61 67 28 66 6c | InvertT|DFlag(fl|
|000004a0| 61 67 73 2c 20 6d 61 73 | 6b 29 09 28 28 66 6c 61 |ags, mas|k).((fla|
|000004b0| 67 73 29 20 5e 3d 20 28 | 6d 61 73 6b 29 29 0d 23 |gs) ^= (|mask)).#|
|000004c0| 64 65 66 69 6e 65 20 54 | 65 73 74 54 44 46 6c 61 |define T|estTDFla|
|000004d0| 67 28 66 6c 61 67 73 2c | 20 6d 61 73 6b 29 09 09 |g(flags,| mask)..|
|000004e0| 28 28 28 66 6c 61 67 73 | 29 20 26 20 28 6d 61 73 |(((flags|) & (mas|
|000004f0| 6b 29 29 20 21 3d 20 30 | 29 0d 0d 74 79 70 65 64 |k)) != 0|)..typed|
|00000500| 65 66 20 65 6e 75 6d 20 | 7b 09 09 09 09 09 09 2f |ef enum |{....../|
|00000510| 2f 20 4d 69 73 63 2e 20 | 63 6f 6e 73 74 61 6e 74 |/ Misc. |constant|
|00000520| 73 0d 09 6b 54 72 69 61 | 6e 67 6c 65 4f 75 74 73 |s..kTria|ngleOuts|
|00000530| 69 64 65 47 61 70 09 3d | 20 31 2c 09 09 09 2f 2f |ideGap.=| 1,...//|
|00000540| 20 46 72 6f 6d 20 6d 61 | 72 67 69 6e 20 74 6f 20 | From ma|rgin to |
|00000550| 62 75 74 74 6f 6e 0d 09 | 6b 54 72 69 61 6e 67 6c |button..|kTriangl|
|00000560| 65 49 6e 73 69 64 65 47 | 61 70 09 3d 20 33 2c 09 |eInsideG|ap.= 3,.|
|00000570| 09 09 2f 2f 20 46 72 6f | 6d 20 62 75 74 74 6f 6e |..// Fro|m button|
|00000580| 20 74 6f 20 74 65 78 74 | 0d 09 6b 53 63 72 6f 6c | to text|..kScrol|
|00000590| 6c 42 61 72 57 69 64 74 | 68 09 09 3d 20 31 36 2c |lBarWidt|h..= 16,|
|000005a0| 09 09 09 2f 2f 20 77 69 | 64 74 68 20 6f 66 20 72 |...// wi|dth of r|
|000005b0| 69 67 68 74 20 73 63 72 | 6f 6c 6c 20 62 61 72 0d |ight scr|oll bar.|
|000005c0| 09 6b 41 6e 69 6d 61 74 | 69 6f 6e 44 65 6c 61 79 |.kAnimat|ionDelay|
|000005d0| 09 09 3d 20 33 2c 09 09 | 09 2f 2f 20 74 68 65 20 |..= 3,..|.// the |
|000005e0| 74 69 6d 65 20 74 6f 20 | 73 68 6f 77 20 74 68 65 |time to |show the|
|000005f0| 20 69 6e 74 65 72 6d 65 | 64 69 61 74 65 20 62 75 | interme|diate bu|
|00000600| 74 74 6f 6e 0d 09 6b 49 | 6e 64 65 6e 74 4f 66 66 |tton..kI|ndentOff|
|00000610| 73 65 74 09 09 3d 20 31 | 36 09 09 09 2f 2f 20 74 |set..= 1|6...// t|
|00000620| 6f 20 6f 66 66 73 65 74 | 20 65 61 63 68 20 69 6e |o offset| each in|
|00000630| 64 65 6e 74 61 74 69 6f | 6e 20 6c 65 76 65 6c 20 |dentatio|n level |
|00000640| 62 79 0d 7d 20 4d 69 73 | 63 43 6f 6e 73 74 61 6e |by.} Mis|cConstan|
|00000650| 74 73 20 3b 0d 0d 2f 2f | 2d 2d 2d 2d 2d 2d 2d 2d |ts ;..//|--------|
|00000660| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000670| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000680| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000690| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000006a0| 2d 2d 2d 2d 0d 2f 2f 20 | 43 72 65 61 74 69 6f 6e |----.// |Creation|
|000006b0| 20 6d 65 74 68 6f 64 73 | 0d 0d 43 54 77 69 73 74 | methods|..CTwist|
|000006c0| 44 6f 77 6e 4c 69 73 74 | 42 6f 78 2a 20 43 54 77 |DownList|Box* CTw|
|000006d0| 69 73 74 44 6f 77 6e 4c | 69 73 74 42 6f 78 3a 3a |istDownL|istBox::|
|000006e0| 43 72 65 61 74 65 46 72 | 6f 6d 53 74 72 65 61 6d |CreateFr|omStream|
|000006f0| 28 4c 53 74 72 65 61 6d | 20 2a 69 6e 53 74 72 65 |(LStream| *inStre|
|00000700| 61 6d 29 0d 7b 0d 20 20 | 72 65 74 75 72 6e 20 28 |am).{. |return (|
|00000710| 6e 65 77 20 43 54 77 69 | 73 74 44 6f 77 6e 4c 69 |new CTwi|stDownLi|
|00000720| 73 74 42 6f 78 28 69 6e | 53 74 72 65 61 6d 29 29 |stBox(in|Stream))|
|00000730| 3b 0d 7d 0d 0d 43 54 77 | 69 73 74 44 6f 77 6e 4c |;.}..CTw|istDownL|
|00000740| 69 73 74 42 6f 78 3a 3a | 43 54 77 69 73 74 44 6f |istBox::|CTwistDo|
|00000750| 77 6e 4c 69 73 74 42 6f | 78 28 29 20 3a 20 43 43 |wnListBo|x() : CC|
|00000760| 75 73 74 6f 6d 4c 69 73 | 74 42 6f 78 28 29 0d 7b |ustomLis|tBox().{|
|00000770| 0d 20 20 69 6e 69 74 20 | 28 29 20 3b 0d 7d 0d 0d |. init |() ;.}..|
|00000780| 43 54 77 69 73 74 44 6f | 77 6e 4c 69 73 74 42 6f |CTwistDo|wnListBo|
|00000790| 78 3a 3a 43 54 77 69 73 | 74 44 6f 77 6e 4c 69 73 |x::CTwis|tDownLis|
|000007a0| 74 42 6f 78 28 63 6f 6e | 73 74 20 53 50 61 6e 65 |tBox(con|st SPane|
|000007b0| 49 6e 66 6f 20 26 69 6e | 50 61 6e 65 49 6e 66 6f |Info &in|PaneInfo|
|000007c0| 2c 0d 09 09 09 09 09 09 | 42 6f 6f 6c 65 61 6e 20 |,.......|Boolean |
|000007d0| 69 6e 48 61 73 48 6f 72 | 69 7a 53 63 72 6f 6c 6c |inHasHor|izScroll|
|000007e0| 2c 20 42 6f 6f 6c 65 61 | 6e 20 69 6e 48 61 73 56 |, Boolea|n inHasV|
|000007f0| 65 72 74 53 63 72 6f 6c | 6c 2c 0d 09 09 09 09 09 |ertScrol|l,......|
|00000800| 09 42 6f 6f 6c 65 61 6e | 20 69 6e 48 61 73 47 72 |.Boolean| inHasGr|
|00000810| 6f 77 2c 20 42 6f 6f 6c | 65 61 6e 20 69 6e 48 61 |ow, Bool|ean inHa|
|00000820| 73 46 6f 63 75 73 42 6f | 78 2c 0d 09 09 09 09 09 |sFocusBo|x,......|
|00000830| 09 4d 65 73 73 61 67 65 | 54 20 69 6e 44 6f 75 62 |.Message|T inDoub|
|00000840| 6c 65 43 6c 69 63 6b 4d | 65 73 73 61 67 65 2c 20 |leClickM|essage, |
|00000850| 49 6e 74 31 36 20 69 6e | 54 65 78 74 54 72 61 69 |Int16 in|TextTrai|
|00000860| 74 73 49 44 2c 0d 09 09 | 09 09 09 09 4c 43 6f 6d |tsID,...|....LCom|
|00000870| 6d 61 6e 64 65 72 20 2a | 69 6e 53 75 70 65 72 29 |mander *|inSuper)|
|00000880| 20 3a 0d 09 09 09 09 09 | 20 20 43 43 75 73 74 6f | :......| CCusto|
|00000890| 6d 4c 69 73 74 42 6f 78 | 20 28 69 6e 50 61 6e 65 |mListBox| (inPane|
|000008a0| 49 6e 66 6f 2c 20 69 6e | 48 61 73 48 6f 72 69 7a |Info, in|HasHoriz|
|000008b0| 53 63 72 6f 6c 6c 2c 20 | 69 6e 48 61 73 56 65 72 |Scroll, |inHasVer|
|000008c0| 74 53 63 72 6f 6c 6c 2c | 0d 09 09 09 09 09 20 20 |tScroll,|...... |
|000008d0| 09 09 09 09 69 6e 48 61 | 73 47 72 6f 77 2c 20 69 |....inHa|sGrow, i|
|000008e0| 6e 48 61 73 46 6f 63 75 | 73 42 6f 78 2c 20 69 6e |nHasFocu|sBox, in|
|000008f0| 44 6f 75 62 6c 65 43 6c | 69 63 6b 4d 65 73 73 61 |DoubleCl|ickMessa|
|00000900| 67 65 2c 20 69 6e 54 65 | 78 74 54 72 61 69 74 73 |ge, inTe|xtTraits|
|00000910| 49 44 2c 0d 09 09 09 09 | 09 20 20 09 09 09 09 69 |ID,.....|. ....i|
|00000920| 6e 53 75 70 65 72 29 0d | 7b 0d 20 20 69 6e 69 74 |nSuper).|{. init|
|00000930| 20 28 29 20 3b 0d 7d 0d | 0d 43 54 77 69 73 74 44 | () ;.}.|.CTwistD|
|00000940| 6f 77 6e 4c 69 73 74 42 | 6f 78 3a 3a 43 54 77 69 |ownListB|ox::CTwi|
|00000950| 73 74 44 6f 77 6e 4c 69 | 73 74 42 6f 78 28 4c 53 |stDownLi|stBox(LS|
|00000960| 74 72 65 61 6d 20 2a 69 | 6e 53 74 72 65 61 6d 29 |tream *i|nStream)|
|00000970| 20 3a 20 43 43 75 73 74 | 6f 6d 4c 69 73 74 42 6f | : CCust|omListBo|
|00000980| 78 20 28 69 6e 53 74 72 | 65 61 6d 29 0d 7b 0d 20 |x (inStr|eam).{. |
|00000990| 20 69 6e 69 74 20 28 29 | 20 3b 0d 7d 0d 0d 2f 2f | init ()| ;.}..//|
|000009a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000009b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000009c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000009d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000009e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 0d 2f 2f 20 |--------|----.// |
|000009f0| 43 72 65 61 74 65 20 74 | 68 65 20 74 72 69 61 6e |Create t|he trian|
|00000a00| 67 6c 65 20 62 75 74 74 | 6f 6e 73 2c 20 69 66 20 |gle butt|ons, if |
|00000a10| 74 68 65 79 20 64 69 64 | 6e 27 74 20 65 78 69 73 |they did|n't exis|
|00000a20| 74 20 61 6c 72 65 61 64 | 79 0d 0d 76 6f 69 64 20 |t alread|y..void |
|00000a30| 43 54 77 69 73 74 44 6f | 77 6e 4c 69 73 74 42 6f |CTwistDo|wnListBo|
|00000a40| 78 3a 3a 69 6e 69 74 20 | 28 76 6f 69 64 29 0d 7b |x::init |(void).{|
|00000a50| 0d 20 2f 2f 20 43 72 65 | 61 74 65 20 74 68 65 20 |. // Cre|ate the |
|00000a60| 74 77 69 73 74 20 64 6f | 77 6e 20 62 75 74 74 6f |twist do|wn butto|
|00000a70| 6e 73 0d 20 2f 2f 20 4e | 6f 74 65 20 74 68 61 74 |ns. // N|ote that|
|00000a80| 20 74 68 65 20 70 6f 72 | 74 20 61 6e 64 20 74 65 | the por|t and te|
|00000a90| 78 74 20 64 72 61 77 69 | 6e 67 20 63 68 61 72 61 |xt drawi|ng chara|
|00000aa0| 63 74 65 72 69 73 74 69 | 63 73 20 6d 75 73 74 20 |cteristi|cs must |
|00000ab0| 68 61 76 65 20 62 65 65 | 6e 20 73 65 74 2e 0d 0d |have bee|n set...|
|00000ac0| 20 20 73 68 6f 72 74 09 | 09 62 75 74 74 6f 6e 53 | short.|.buttonS|
|00000ad0| 69 7a 65 3b 0d 20 20 73 | 68 6f 72 74 09 09 68 61 |ize;. s|hort..ha|
|00000ae0| 6c 66 53 69 7a 65 3b 0d | 20 20 73 68 6f 72 74 09 |lfSize;.| short.|
|00000af0| 09 69 6e 74 65 72 6d 65 | 64 69 61 74 65 53 69 7a |.interme|diateSiz|
|00000b00| 65 3b 0d 20 20 46 6f 6e | 74 49 6e 66 6f 09 69 6e |e;. Fon|tInfo.in|
|00000b10| 66 6f 3b 0d 0d 20 20 3a | 3a 47 65 74 46 6f 6e 74 |fo;.. :|:GetFont|
|00000b20| 49 6e 66 6f 28 26 69 6e | 66 6f 29 3b 0d 20 20 62 |Info(&in|fo);. b|
|00000b30| 75 74 74 6f 6e 53 69 7a | 65 20 3d 20 69 6e 66 6f |uttonSiz|e = info|
|00000b40| 2e 61 73 63 65 6e 74 3b | 09 09 09 09 2f 2f 20 54 |.ascent;|....// T|
|00000b50| 68 65 20 22 73 68 6f 77 | 20 73 75 62 6c 69 73 74 |he "show| sublist|
|00000b60| 22 20 62 75 74 74 6f 6e | 0d 20 20 62 75 74 74 6f |" button|. butto|
|00000b70| 6e 53 69 7a 65 20 26 3d | 20 7e 31 3b 09 09 09 09 |nSize &=| ~1;....|
|00000b80| 09 09 2f 2f 20 52 6f 75 | 6e 64 20 64 6f 77 6e 20 |..// Rou|nd down |
|00000b90| 74 6f 20 61 6e 20 65 76 | 65 6e 20 6e 75 6d 62 65 |to an ev|en numbe|
|00000ba0| 72 0d 20 20 68 61 6c 66 | 53 69 7a 65 20 3d 20 62 |r. half|Size = b|
|00000bb0| 75 74 74 6f 6e 53 69 7a | 65 20 2f 20 32 3b 0d 20 |uttonSiz|e / 2;. |
|00000bc0| 20 69 6e 74 65 72 6d 65 | 64 69 61 74 65 53 69 7a | interme|diateSiz|
|00000bd0| 65 20 3d 20 28 62 75 74 | 74 6f 6e 53 69 7a 65 20 |e = (but|tonSize |
|00000be0| 2a 20 33 29 20 2f 20 34 | 3b 0d 0d 20 20 2f 2f 20 |* 3) / 4|;.. // |
|00000bf0| 6e 6f 74 65 2c 20 77 65 | 20 61 6c 6c 6f 63 61 74 |note, we| allocat|
|00000c00| 65 20 74 68 65 20 70 6f | 6c 79 67 6f 6e 73 20 6f |e the po|lygons o|
|00000c10| 6e 63 65 20 28 74 68 65 | 79 20 61 72 65 20 73 74 |nce (the|y are st|
|00000c20| 61 74 69 63 20 76 61 72 | 69 61 62 6c 65 73 29 20 |atic var|iables) |
|00000c30| 66 6f 72 20 2a 61 6c 6c | 2a 20 6c 69 73 74 73 2c |for *all|* lists,|
|00000c40| 20 61 6e 64 0d 20 20 2f | 2f 20 77 65 20 6e 65 76 | and. /|/ we nev|
|00000c50| 65 72 20 64 69 73 70 6f | 73 65 20 74 68 65 6d 0d |er dispo|se them.|
|00000c60| 0d 20 20 69 66 20 28 73 | 43 6c 6f 73 65 64 50 6f |. if (s|ClosedPo|
|00000c70| 6c 79 20 3d 3d 20 4e 55 | 4c 4c 29 0d 20 20 09 7b |ly == NU|LL). .{|
|00000c80| 20 73 43 6c 6f 73 65 64 | 50 6f 6c 79 20 3d 20 3a | sClosed|Poly = :|
|00000c90| 3a 4f 70 65 6e 50 6f 6c | 79 28 29 3b 0d 09 20 20 |:OpenPol|y();.. |
|00000ca0| 3a 3a 4d 6f 76 65 54 6f | 28 68 61 6c 66 53 69 7a |::MoveTo|(halfSiz|
|00000cb0| 65 2c 20 30 29 3b 0d 09 | 20 20 3a 3a 4c 69 6e 65 |e, 0);..| ::Line|
|00000cc0| 54 6f 28 62 75 74 74 6f | 6e 53 69 7a 65 2c 20 68 |To(butto|nSize, h|
|00000cd0| 61 6c 66 53 69 7a 65 29 | 3b 0d 09 20 20 3a 3a 4c |alfSize)|;.. ::L|
|00000ce0| 69 6e 65 54 6f 28 68 61 | 6c 66 53 69 7a 65 2c 20 |ineTo(ha|lfSize, |
|00000cf0| 62 75 74 74 6f 6e 53 69 | 7a 65 29 3b 0d 09 20 20 |buttonSi|ze);.. |
|00000d00| 3a 3a 4c 69 6e 65 54 6f | 28 68 61 6c 66 53 69 7a |::LineTo|(halfSiz|
|00000d10| 65 2c 20 30 29 3b 0d 09 | 20 20 3a 3a 43 6c 6f 73 |e, 0);..| ::Clos|
|00000d20| 65 50 6f 6c 79 28 29 3b | 0d 20 20 09 7d 0d 20 20 |ePoly();|. .}. |
|00000d30| 69 66 20 28 73 4f 70 65 | 6e 65 64 50 6f 6c 79 20 |if (sOpe|nedPoly |
|00000d40| 3d 3d 20 4e 55 4c 4c 29 | 0d 20 20 09 7b 20 73 4f |== NULL)|. .{ sO|
|00000d50| 70 65 6e 65 64 50 6f 6c | 79 20 3d 20 3a 3a 4f 70 |penedPol|y = ::Op|
|00000d60| 65 6e 50 6f 6c 79 28 29 | 3b 0d 09 20 20 3a 3a 4d |enPoly()|;.. ::M|
|00000d70| 6f 76 65 54 6f 28 30 2c | 20 68 61 6c 66 53 69 7a |oveTo(0,| halfSiz|
|00000d80| 65 29 3b 0d 09 20 20 3a | 3a 4c 69 6e 65 54 6f 28 |e);.. :|:LineTo(|
|00000d90| 62 75 74 74 6f 6e 53 69 | 7a 65 2c 20 68 61 6c 66 |buttonSi|ze, half|
|00000da0| 53 69 7a 65 29 3b 0d 09 | 20 20 3a 3a 4c 69 6e 65 |Size);..| ::Line|
|00000db0| 54 6f 28 68 61 6c 66 53 | 69 7a 65 2c 20 62 75 74 |To(halfS|ize, but|
|00000dc0| 74 6f 6e 53 69 7a 65 29 | 3b 0d 09 20 20 3a 3a 4c |tonSize)|;.. ::L|
|00000dd0| 69 6e 65 54 6f 28 30 2c | 20 68 61 6c 66 53 69 7a |ineTo(0,| halfSiz|
|00000de0| 65 29 3b 0d 09 20 20 3a | 3a 43 6c 6f 73 65 50 6f |e);.. :|:ClosePo|
|00000df0| 6c 79 28 29 3b 0d 09 20 | 20 3a 3a 4f 66 66 73 65 |ly();.. | ::Offse|
|00000e00| 74 50 6f 6c 79 20 28 73 | 4f 70 65 6e 65 64 50 6f |tPoly (s|OpenedPo|
|00000e10| 6c 79 2c 20 31 2c 20 2d | 32 29 20 3b 0d 20 20 09 |ly, 1, -|2) ;. .|
|00000e20| 7d 0d 20 20 69 66 20 28 | 73 49 6e 74 65 72 6d 65 |}. if (|sInterme|
|00000e30| 64 69 61 74 65 50 6f 6c | 79 20 3d 3d 20 4e 55 4c |diatePol|y == NUL|
|00000e40| 4c 29 0d 20 20 09 7b 20 | 73 49 6e 74 65 72 6d 65 |L). .{ |sInterme|
|00000e50| 64 69 61 74 65 50 6f 6c | 79 20 3d 20 3a 3a 4f 70 |diatePol|y = ::Op|
|00000e60| 65 6e 50 6f 6c 79 28 29 | 3b 09 0d 09 20 20 3a 3a |enPoly()|;... ::|
|00000e70| 4d 6f 76 65 54 6f 28 69 | 6e 74 65 72 6d 65 64 69 |MoveTo(i|ntermedi|
|00000e80| 61 74 65 53 69 7a 65 2c | 20 30 29 3b 0d 09 20 20 |ateSize,| 0);.. |
|00000e90| 3a 3a 4c 69 6e 65 54 6f | 28 69 6e 74 65 72 6d 65 |::LineTo|(interme|
|00000ea0| 64 69 61 74 65 53 69 7a | 65 2c 20 69 6e 74 65 72 |diateSiz|e, inter|
|00000eb0| 6d 65 64 69 61 74 65 53 | 69 7a 65 29 3b 0d 09 20 |mediateS|ize);.. |
|00000ec0| 20 3a 3a 4c 69 6e 65 54 | 6f 28 30 2c 20 69 6e 74 | ::LineT|o(0, int|
|00000ed0| 65 72 6d 65 64 69 61 74 | 65 53 69 7a 65 29 3b 0d |ermediat|eSize);.|
|00000ee0| 09 20 20 3a 3a 4c 69 6e | 65 54 6f 28 69 6e 74 65 |. ::Lin|eTo(inte|
|00000ef0| 72 6d 65 64 69 61 74 65 | 53 69 7a 65 2c 20 30 29 |rmediate|Size, 0)|
|00000f00| 3b 0d 09 20 20 3a 3a 43 | 6c 6f 73 65 50 6f 6c 79 |;.. ::C|losePoly|
|00000f10| 28 29 3b 0d 20 20 09 7d | 0d 20 20 0d 20 20 2f 2f |();. .}|. . //|
|00000f20| 20 52 65 6d 65 6d 62 65 | 72 20 74 68 65 20 77 69 | Remembe|r the wi|
|00000f30| 64 74 68 20 6f 66 20 74 | 68 65 20 22 62 75 74 74 |dth of t|he "butt|
|00000f40| 6f 6e 22 20 61 72 65 61 | 2e 0d 20 20 74 72 69 61 |on" area|.. tria|
|00000f50| 6e 67 6c 65 57 69 64 74 | 68 20 3d 20 28 2a 2a 73 |ngleWidt|h = (**s|
|00000f60| 4f 70 65 6e 65 64 50 6f | 6c 79 29 2e 70 6f 6c 79 |OpenedPo|ly).poly|
|00000f70| 42 42 6f 78 2e 72 69 67 | 68 74 0d 09 09 09 09 09 |BBox.rig|ht......|
|00000f80| 2b 20 6b 54 72 69 61 6e | 67 6c 65 4f 75 74 73 69 |+ kTrian|gleOutsi|
|00000f90| 64 65 47 61 70 0d 09 09 | 09 09 09 2b 20 6b 54 72 |deGap...|...+ kTr|
|00000fa0| 69 61 6e 67 6c 65 49 6e | 73 69 64 65 47 61 70 3b |iangleIn|sideGap;|
|00000fb0| 0d 7d 0d 0d 2f 2f 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |.}..//--|--------|
|00000fc0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000fd0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000fe0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000ff0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001000| 2d 2d 0d 2f 2f 20 49 66 | 20 74 68 65 20 64 61 74 |--.// If| the dat|
|00001010| 61 2d 66 69 65 6c 64 20 | 63 6f 6e 74 61 69 6e 73 |a-field |contains|
|00001020| 20 74 65 78 74 20 28 64 | 65 66 61 75 6c 74 20 63 | text (d|efault c|
|00001030| 61 73 65 29 2c 20 74 68 | 65 6e 20 67 65 74 2f 73 |ase), th|en get/s|
|00001040| 65 74 20 69 74 0d 0d 53 | 74 72 69 6e 67 50 74 72 |et it..S|tringPtr|
|00001050| 20 43 54 77 69 73 74 44 | 6f 77 6e 4c 69 73 74 42 | CTwistD|ownListB|
|00001060| 6f 78 3a 3a 47 65 74 44 | 65 73 63 72 69 70 74 6f |ox::GetD|escripto|
|00001070| 72 28 53 74 72 32 35 35 | 20 6f 75 74 44 65 73 63 |r(Str255| outDesc|
|00001080| 72 69 70 74 6f 72 29 20 | 63 6f 6e 73 74 0d 7b 20 |riptor) |const.{ |
|00001090| 42 79 74 65 09 09 09 62 | 75 66 66 65 72 5b 32 36 |Byte...b|uffer[26|
|000010a0| 30 5d 20 3b 0d 20 20 73 | 68 6f 72 74 09 09 09 6c |0] ;. s|hort...l|
|000010b0| 20 3d 20 73 69 7a 65 6f | 66 20 28 62 75 66 66 65 | = sizeo|f (buffe|
|000010c0| 72 29 20 3b 0d 20 20 54 | 77 69 73 74 44 6f 77 6e |r) ;. T|wistDown|
|000010d0| 52 65 63 50 74 72 20 74 | 77 69 73 74 45 6c 65 6d |RecPtr t|wistElem|
|000010e0| 65 6e 74 20 3d 20 28 54 | 77 69 73 74 44 6f 77 6e |ent = (T|wistDown|
|000010f0| 52 65 63 50 74 72 29 20 | 62 75 66 66 65 72 20 3b |RecPtr) |buffer ;|
|00001100| 0d 20 20 0d 20 20 74 77 | 69 73 74 45 6c 65 6d 65 |. . tw|istEleme|
|00001110| 6e 74 2d 3e 64 61 74 61 | 5b 30 5d 20 3d 20 27 5c |nt->data|[0] = '\|
|00001120| 30 27 20 3b 0d 20 20 47 | 65 74 53 65 6c 65 63 74 |0' ;. G|etSelect|
|00001130| 69 6f 6e 20 28 74 77 69 | 73 74 45 6c 65 6d 65 6e |ion (twi|stElemen|
|00001140| 74 2c 20 26 6c 29 20 3b | 0d 20 20 6c 20 2d 3d 20 |t, &l) ;|. l -= |
|00001150| 54 77 69 73 74 44 6f 77 | 6e 52 65 63 53 69 7a 65 |TwistDow|nRecSize|
|00001160| 20 3b 0d 20 20 3a 3a 6d | 65 6d 63 70 79 20 28 6f | ;. ::m|emcpy (o|
|00001170| 75 74 44 65 73 63 72 69 | 70 74 6f 72 2b 31 2c 20 |utDescri|ptor+1, |
|00001180| 74 77 69 73 74 45 6c 65 | 6d 65 6e 74 2d 3e 64 61 |twistEle|ment->da|
|00001190| 74 61 2c 20 6c 29 20 3b | 0d 20 20 6f 75 74 44 65 |ta, l) ;|. outDe|
|000011a0| 73 63 72 69 70 74 6f 72 | 5b 30 5d 20 3d 20 6c 20 |scriptor|[0] = l |
|000011b0| 3b 0d 20 20 0d 20 20 72 | 65 74 75 72 6e 20 6f 75 |;. . r|eturn ou|
|000011c0| 74 44 65 73 63 72 69 70 | 74 6f 72 20 3b 0d 7d 0d |tDescrip|tor ;.}.|
|000011d0| 0d 76 6f 69 64 20 43 54 | 77 69 73 74 44 6f 77 6e |.void CT|wistDown|
|000011e0| 4c 69 73 74 42 6f 78 3a | 3a 53 65 74 44 65 73 63 |ListBox:|:SetDesc|
|000011f0| 72 69 70 74 6f 72 28 43 | 6f 6e 73 74 53 74 72 32 |riptor(C|onstStr2|
|00001200| 35 35 50 61 72 61 6d 20 | 69 6e 44 65 73 63 72 69 |55Param |inDescri|
|00001210| 70 74 6f 72 29 0d 7b 20 | 42 79 74 65 09 09 09 62 |ptor).{ |Byte...b|
|00001220| 75 66 66 65 72 5b 32 36 | 30 5d 20 3b 0d 20 20 73 |uffer[26|0] ;. s|
|00001230| 68 6f 72 74 09 09 09 6c | 20 3b 0d 20 20 54 77 69 |hort...l| ;. Twi|
|00001240| 73 74 44 6f 77 6e 52 65 | 63 50 74 72 20 74 77 69 |stDownRe|cPtr twi|
|00001250| 73 74 45 6c 65 6d 65 6e | 74 20 3d 20 28 54 77 69 |stElemen|t = (Twi|
|00001260| 73 74 44 6f 77 6e 52 65 | 63 50 74 72 29 20 62 75 |stDownRe|cPtr) bu|
|00001270| 66 66 65 72 20 3b 0d 20 | 20 0d 20 20 6c 20 3d 20 |ffer ;. | . l = |
|00001280| 2a 69 6e 44 65 73 63 72 | 69 70 74 6f 72 2b 31 20 |*inDescr|iptor+1 |
|00001290| 3b 0d 20 20 3a 3a 6d 65 | 6d 63 70 79 20 28 74 77 |;. ::me|mcpy (tw|
|000012a0| 69 73 74 45 6c 65 6d 65 | 6e 74 2d 3e 64 61 74 61 |istEleme|nt->data|
|000012b0| 2c 20 69 6e 44 65 73 63 | 72 69 70 74 6f 72 2b 31 |, inDesc|riptor+1|
|000012c0| 2c 20 20 6c 29 20 3b 0d | 20 20 74 77 69 73 74 45 |, l) ;.| twistE|
|000012d0| 6c 65 6d 65 6e 74 2d 3e | 69 6e 64 65 6e 74 20 3d |lement->|indent =|
|000012e0| 20 30 20 3b 0d 20 20 74 | 77 69 73 74 45 6c 65 6d | 0 ;. t|wistElem|
|000012f0| 65 6e 74 2d 3e 66 6c 61 | 67 73 20 3d 20 30 20 3b |ent->fla|gs = 0 ;|
|00001300| 0d 20 20 6c 20 2b 3d 20 | 54 77 69 73 74 44 6f 77 |. l += |TwistDow|
|00001310| 6e 52 65 63 53 69 7a 65 | 20 3b 0d 20 20 53 65 74 |nRecSize| ;. Set|
|00001320| 53 65 6c 65 63 74 69 6f | 6e 20 28 74 77 69 73 74 |Selectio|n (twist|
|00001330| 45 6c 65 6d 65 6e 74 2c | 20 6c 29 20 3b 0d 7d 0d |Element,| l) ;.}.|
|00001340| 0d 2f 2f 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |.//-----|--------|
|00001350| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001360| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001370| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001380| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 0d |--------|-------.|
|00001390| 2f 2f 20 54 68 65 20 75 | 73 65 72 20 63 6c 69 63 |// The u|ser clic|
|000013a0| 6b 65 64 20 69 6e 20 74 | 68 65 20 6c 69 73 74 0d |ked in t|he list.|
|000013b0| 0d 76 6f 69 64 20 43 54 | 77 69 73 74 44 6f 77 6e |.void CT|wistDown|
|000013c0| 4c 69 73 74 42 6f 78 3a | 3a 43 6c 69 63 6b 53 65 |ListBox:|:ClickSe|
|000013d0| 6c 66 28 63 6f 6e 73 74 | 20 53 4d 6f 75 73 65 44 |lf(const| SMouseD|
|000013e0| 6f 77 6e 45 76 65 6e 74 | 20 26 69 6e 4d 6f 75 73 |ownEvent| &inMous|
|000013f0| 65 44 6f 77 6e 29 0d 7b | 20 6c 6f 6e 67 09 6c 20 |eDown).{| long.l |
|00001400| 3b 0d 0d 20 20 2f 2f 20 | 73 65 74 20 74 61 72 67 |;.. // |set targ|
|00001410| 65 74 20 74 6f 20 74 68 | 65 20 72 69 67 68 74 20 |et to th|e right |
|00001420| 70 61 6e 65 0d 20 20 53 | 77 69 74 63 68 54 61 72 |pane. S|witchTar|
|00001430| 67 65 74 28 74 68 69 73 | 29 3b 0d 20 20 46 6f 63 |get(this|);. Foc|
|00001440| 75 73 44 72 61 77 28 29 | 3b 0d 0d 20 20 2f 2f 20 |usDraw()|;.. // |
|00001450| 69 73 20 74 68 65 20 6d | 6f 75 73 65 64 6f 77 6e |is the m|ousedown|
|00001460| 20 69 6e 20 74 68 65 20 | 74 77 69 73 74 44 6f 77 | in the |twistDow|
|00001470| 6e 20 62 75 74 74 6f 6e | 20 61 72 65 61 3f 0d 20 |n button| area?. |
|00001480| 20 50 6f 69 6e 74 20 6d | 6f 75 73 65 50 74 20 3d | Point m|ousePt =|
|00001490| 20 69 6e 4d 6f 75 73 65 | 44 6f 77 6e 2e 6d 61 63 | inMouse|Down.mac|
|000014a0| 45 76 65 6e 74 2e 77 68 | 65 72 65 20 3b 0d 20 20 |Event.wh|ere ;. |
|000014b0| 3a 3a 47 6c 6f 62 61 6c | 54 6f 4c 6f 63 61 6c 20 |::Global|ToLocal |
|000014c0| 28 26 6d 6f 75 73 65 50 | 74 29 20 3b 0d 20 20 52 |(&mouseP|t) ;. R|
|000014d0| 65 63 74 20 68 69 74 52 | 65 63 74 20 3d 20 28 2a |ect hitR|ect = (*|
|000014e0| 6d 4d 61 63 4c 69 73 74 | 48 29 2d 3e 72 56 69 65 |mMacList|H)->rVie|
|000014f0| 77 20 3b 0d 20 20 68 69 | 74 52 65 63 74 2e 72 69 |w ;. hi|tRect.ri|
|00001500| 67 68 74 20 2b 3d 20 6b | 53 63 72 6f 6c 6c 42 61 |ght += k|ScrollBa|
|00001510| 72 57 69 64 74 68 20 3b | 0d 20 20 69 66 20 28 3a |rWidth ;|. if (:|
|00001520| 3a 50 74 49 6e 52 65 63 | 74 20 28 6d 6f 75 73 65 |:PtInRec|t (mouse|
|00001530| 50 74 2c 20 26 68 69 74 | 52 65 63 74 29 20 3d 3d |Pt, &hit|Rect) ==|
|00001540| 20 66 61 6c 73 65 29 09 | 09 2f 2f 20 63 6c 69 63 | false).|.// clic|
|00001550| 6b 20 69 73 20 6e 6f 74 | 20 69 6e 20 6f 75 72 20 |k is not| in our |
|00001560| 70 61 6e 65 0d 20 20 09 | 72 65 74 75 72 6e 20 3b |pane. .|return ;|
|00001570| 0d 20 20 68 69 74 52 65 | 63 74 2e 72 69 67 68 74 |. hitRe|ct.right|
|00001580| 20 3d 20 28 2a 6d 4d 61 | 63 4c 69 73 74 48 29 2d | = (*mMa|cListH)-|
|00001590| 3e 72 56 69 65 77 2e 6c | 65 66 74 20 2b 20 74 72 |>rView.l|eft + tr|
|000015a0| 69 61 6e 67 6c 65 57 69 | 64 74 68 20 3b 0d 20 20 |iangleWi|dth ;. |
|000015b0| 69 66 20 28 3a 3a 50 74 | 49 6e 52 65 63 74 20 28 |if (::Pt|InRect (|
|000015c0| 6d 6f 75 73 65 50 74 2c | 20 26 68 69 74 52 65 63 |mousePt,| &hitRec|
|000015d0| 74 29 29 09 09 09 09 09 | 2f 2f 20 79 65 73 2c 20 |t)).....|// yes, |
|000015e0| 69 73 20 69 74 20 69 6e | 20 61 20 62 75 74 74 6f |is it in| a butto|
|000015f0| 6e 3f 0d 20 20 20 20 7b | 20 73 68 6f 72 74 20 76 |n?. {| short v|
|00001600| 69 73 69 62 6c 65 54 6f | 70 20 3d 20 28 2a 6d 4d |isibleTo|p = (*mM|
|00001610| 61 63 4c 69 73 74 48 29 | 2d 3e 76 69 73 69 62 6c |acListH)|->visibl|
|00001620| 65 2e 74 6f 70 20 3b 0d | 20 20 20 20 20 20 73 68 |e.top ;.| sh|
|00001630| 6f 72 74 20 63 65 6c 6c | 48 65 69 67 68 74 20 3d |ort cell|Height =|
|00001640| 20 28 2a 6d 4d 61 63 4c | 69 73 74 48 29 2d 3e 63 | (*mMacL|istH)->c|
|00001650| 65 6c 6c 53 69 7a 65 2e | 76 20 3b 0d 20 20 20 20 |ellSize.|v ;. |
|00001660| 20 20 43 65 6c 6c 20 74 | 68 65 43 65 6c 6c 20 3b | Cell t|heCell ;|
|00001670| 09 09 09 09 09 09 09 09 | 2f 2f 20 74 68 65 20 73 |........|// the s|
|00001680| 65 6c 65 63 74 65 64 20 | 63 65 6c 6c 0d 20 20 20 |elected |cell. |
|00001690| 20 20 20 74 68 65 43 65 | 6c 6c 2e 76 20 3d 20 28 | theCe|ll.v = (|
|000016a0| 6d 6f 75 73 65 50 74 2e | 76 20 2d 20 68 69 74 52 |mousePt.|v - hitR|
|000016b0| 65 63 74 2e 74 6f 70 29 | 20 2f 20 63 65 6c 6c 48 |ect.top)| / cellH|
|000016c0| 65 69 67 68 74 20 2b 20 | 76 69 73 69 62 6c 65 54 |eight + |visibleT|
|000016d0| 6f 70 20 3b 0d 20 20 20 | 20 20 20 74 68 65 43 65 |op ;. | theCe|
|000016e0| 6c 6c 2e 68 20 3d 20 30 | 20 3b 0d 20 20 20 09 20 |ll.h = 0| ;. . |
|000016f0| 20 54 77 69 73 74 44 6f | 77 6e 52 65 63 50 74 72 | TwistDo|wnRecPtr|
|00001700| 09 74 77 69 73 74 20 3d | 20 28 54 77 69 73 74 44 |.twist =| (TwistD|
|00001710| 6f 77 6e 52 65 63 50 74 | 72 29 20 47 65 74 43 65 |ownRecPt|r) GetCe|
|00001720| 6c 6c 50 74 72 20 28 74 | 68 65 43 65 6c 6c 29 20 |llPtr (t|heCell) |
|00001730| 3b 0d 0d 20 20 20 09 20 | 20 69 66 20 28 28 74 77 |;.. . | if ((tw|
|00001740| 69 73 74 20 3d 3d 20 4e | 55 4c 4c 29 20 7c 7c 20 |ist == N|ULL) || |
|00001750| 28 54 65 73 74 54 44 46 | 6c 61 67 28 74 77 69 73 |(TestTDF|lag(twis|
|00001760| 74 2d 3e 66 6c 61 67 73 | 2c 20 6b 48 61 73 53 75 |t->flags|, kHasSu|
|00001770| 62 4c 69 73 74 29 20 3d | 3d 20 30 29 29 0d 20 20 |bList) =|= 0)). |
|00001780| 20 09 20 20 09 67 6f 74 | 6f 20 65 6e 64 20 3b 0d | . .got|o end ;.|
|00001790| 0d 09 20 20 53 65 74 54 | 44 46 6c 61 67 20 28 74 |.. SetT|DFlag (t|
|000017a0| 77 69 73 74 2d 3e 66 6c | 61 67 73 2c 20 6b 44 72 |wist->fl|ags, kDr|
|000017b0| 61 77 46 69 6c 6c 65 64 | 29 20 3b 09 09 09 09 09 |awFilled|) ;.....|
|000017c0| 2f 2f 20 44 72 61 77 20 | 74 68 65 20 62 75 74 74 |// Draw |the butt|
|000017d0| 6f 6e 0d 20 20 20 09 20 | 20 3a 3a 4c 44 72 61 77 |on. . | ::LDraw|
|000017e0| 20 28 74 68 65 43 65 6c | 6c 2c 20 6d 4d 61 63 4c | (theCel|l, mMacL|
|000017f0| 69 73 74 48 29 20 3b 09 | 09 09 09 09 09 09 2f 2f |istH) ;.|......//|
|00001800| 20 44 72 61 77 20 74 68 | 65 20 63 65 6c 6c 20 61 | Draw th|e cell a|
|00001810| 6e 65 77 0d 20 20 20 09 | 20 20 68 69 74 52 65 63 |new. .| hitRec|
|00001820| 74 2e 74 6f 70 20 2b 3d | 20 28 28 74 68 65 43 65 |t.top +=| ((theCe|
|00001830| 6c 6c 2e 76 20 2d 20 76 | 69 73 69 62 6c 65 54 6f |ll.v - v|isibleTo|
|00001840| 70 29 20 2a 20 63 65 6c | 6c 48 65 69 67 68 74 29 |p) * cel|lHeight)|
|00001850| 20 3b 09 2f 2f 20 73 65 | 74 20 74 6f 20 74 68 65 | ;.// se|t to the|
|00001860| 20 64 69 6d 65 6e 73 69 | 6f 6e 73 20 6f 66 20 74 | dimensi|ons of t|
|00001870| 68 65 20 62 75 74 74 6f | 6e 0d 20 20 20 09 20 20 |he butto|n. . |
|00001880| 68 69 74 52 65 63 74 2e | 62 6f 74 74 6f 6d 20 3d |hitRect.|bottom =|
|00001890| 20 68 69 74 52 65 63 74 | 2e 74 6f 70 20 2b 20 63 | hitRect|.top + c|
|000018a0| 65 6c 6c 48 65 69 67 68 | 74 20 3b 0d 20 20 20 09 |ellHeigh|t ;. .|
|000018b0| 20 20 42 6f 6f 6c 65 61 | 6e 20 69 6e 48 69 74 52 | Boolea|n inHitR|
|000018c0| 65 63 74 20 3d 20 66 61 | 6c 73 65 20 3b 0d 20 20 |ect = fa|lse ;. |
|000018d0| 20 09 20 20 69 66 20 28 | 3a 3a 53 74 69 6c 6c 44 | . if (|::StillD|
|000018e0| 6f 77 6e 28 29 29 0d 20 | 20 20 09 20 20 20 20 7b |own()). | . {|
|000018f0| 20 69 6e 48 69 74 52 65 | 63 74 20 3d 20 74 72 75 | inHitRe|ct = tru|
|00001900| 65 20 3b 0d 20 20 20 09 | 20 20 20 20 20 20 77 68 |e ;. .| wh|
|00001910| 69 6c 65 20 28 3a 3a 57 | 61 69 74 4d 6f 75 73 65 |ile (::W|aitMouse|
|00001920| 55 70 28 29 29 09 0d 20 | 20 20 20 20 20 20 20 20 |Up()).. | |
|00001930| 20 20 20 7b 20 3a 3a 47 | 65 74 4d 6f 75 73 65 20 | { ::G|etMouse |
|00001940| 28 26 6d 6f 75 73 65 50 | 74 29 3b 0d 20 20 20 20 |(&mouseP|t);. |
|00001950| 20 20 20 20 20 20 20 20 | 20 20 42 6f 6f 6c 65 61 | | Boolea|
|00001960| 6e 20 6e 65 77 49 6e 48 | 69 74 52 65 63 74 20 3d |n newInH|itRect =|
|00001970| 20 3a 3a 50 74 49 6e 52 | 65 63 74 28 6d 6f 75 73 | ::PtInR|ect(mous|
|00001980| 65 50 74 2c 20 26 68 69 | 74 52 65 63 74 29 20 3b |ePt, &hi|tRect) ;|
|00001990| 0d 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 69 |. | i|
|000019a0| 66 20 28 6e 65 77 49 6e | 48 69 74 52 65 63 74 20 |f (newIn|HitRect |
|000019b0| 21 3d 20 69 6e 48 69 74 | 52 65 63 74 29 0d 20 20 |!= inHit|Rect). |
|000019c0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 7b 20 | | { |
|000019d0| 74 77 69 73 74 20 3d 20 | 28 54 77 69 73 74 44 6f |twist = |(TwistDo|
|000019e0| 77 6e 52 65 63 50 74 72 | 29 20 47 65 74 43 65 6c |wnRecPtr|) GetCel|
|000019f0| 6c 50 74 72 20 28 74 68 | 65 43 65 6c 6c 29 20 3b |lPtr (th|eCell) ;|
|00001a00| 0d 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |. | |
|00001a10| 20 20 20 49 6e 76 65 72 | 74 54 44 46 6c 61 67 20 | Inver|tTDFlag |
|00001a20| 28 74 77 69 73 74 2d 3e | 66 6c 61 67 73 2c 20 6b |(twist->|flags, k|
|00001a30| 44 72 61 77 46 69 6c 6c | 65 64 29 20 3b 0d 20 20 |DrawFill|ed) ;. |
|00001a40| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001a50| 3a 3a 4c 44 72 61 77 20 | 28 74 68 65 43 65 6c 6c |::LDraw |(theCell|
|00001a60| 2c 20 6d 4d 61 63 4c 69 | 73 74 48 29 20 3b 0d 20 |, mMacLi|stH) ;. |
|00001a70| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001a80| 20 69 6e 48 69 74 52 65 | 63 74 20 3d 20 6e 65 77 | inHitRe|ct = new|
|00001a90| 49 6e 48 69 74 52 65 63 | 74 20 3b 0d 20 20 20 20 |InHitRec|t ;. |
|00001aa0| 20 20 20 20 20 20 20 20 | 20 20 20 20 7d 0d 20 20 | | }. |
|00001ab0| 20 20 20 20 20 20 20 20 | 20 20 7d 0d 09 09 7d 0d | | }...}.|
|00001ac0| 09 20 20 0d 20 20 20 09 | 20 20 74 77 69 73 74 20 |. . .| twist |
|00001ad0| 3d 20 28 54 77 69 73 74 | 44 6f 77 6e 52 65 63 50 |= (Twist|DownRecP|
|00001ae0| 74 72 29 20 47 65 74 43 | 65 6c 6c 50 74 72 20 28 |tr) GetC|ellPtr (|
|00001af0| 74 68 65 43 65 6c 6c 29 | 20 3b 09 09 09 2f 2f 20 |theCell)| ;...// |
|00001b00| 74 68 65 20 75 73 65 72 | 20 72 65 6c 65 61 73 65 |the user| release|
|00001b10| 64 20 74 68 65 20 6d 6f | 75 73 65 0d 20 20 20 09 |d the mo|use. .|
|00001b20| 20 20 69 66 20 28 69 6e | 48 69 74 52 65 63 74 20 | if (in|HitRect |
|00001b30| 3d 3d 20 66 61 6c 73 65 | 29 20 0d 20 20 20 09 20 |== false|) . . |
|00001b40| 20 09 7b 20 2f 2f 20 6d | 61 6b 65 20 76 65 72 79 | .{ // m|ake very|
|00001b50| 20 73 75 72 65 20 74 68 | 65 20 62 75 74 74 6f 6e | sure th|e button|
|00001b60| 20 69 73 20 63 6c 65 61 | 72 65 64 0d 20 20 20 09 | is clea|red. .|
|00001b70| 20 20 09 20 20 69 66 20 | 28 54 65 73 74 54 44 46 | . if |(TestTDF|
|00001b80| 6c 61 67 20 28 74 77 69 | 73 74 2d 3e 66 6c 61 67 |lag (twi|st->flag|
|00001b90| 73 2c 20 6b 44 72 61 77 | 46 69 6c 6c 65 64 29 29 |s, kDraw|Filled))|
|00001ba0| 0d 20 20 20 09 20 20 09 | 20 20 20 20 7b 20 43 6c |. . .| { Cl|
|00001bb0| 65 61 72 54 44 46 6c 61 | 67 20 28 74 77 69 73 74 |earTDFla|g (twist|
|00001bc0| 2d 3e 66 6c 61 67 73 2c | 20 6b 44 72 61 77 46 69 |->flags,| kDrawFi|
|00001bd0| 6c 6c 65 64 29 20 3b 0d | 20 20 20 09 20 20 09 20 |lled) ;.| . . |
|00001be0| 20 20 20 20 20 3a 3a 4c | 44 72 61 77 20 28 74 68 | ::L|Draw (th|
|00001bf0| 65 43 65 6c 6c 2c 20 6d | 4d 61 63 4c 69 73 74 48 |eCell, m|MacListH|
|00001c00| 29 20 3b 0d 20 20 20 09 | 20 20 09 20 20 20 20 7d |) ;. .| . }|
|00001c10| 0d 20 20 20 09 20 20 09 | 20 20 72 65 74 75 72 6e |. . .| return|
|00001c20| 20 3b 09 09 2f 2f 20 61 | 6e 64 20 67 65 74 20 6f | ;..// a|nd get o|
|00001c30| 75 74 c9 0d 20 20 20 09 | 20 20 09 7d 0d 20 20 20 |ut.. .| .}. |
|00001c40| 09 20 20 0d 20 20 20 09 | 20 20 53 65 74 54 44 46 |. . .| SetTDF|
|00001c50| 6c 61 67 20 28 74 77 69 | 73 74 2d 3e 66 6c 61 67 |lag (twi|st->flag|
|00001c60| 73 2c 20 6b 44 72 61 77 | 49 6e 74 65 72 6d 65 64 |s, kDraw|Intermed|
|00001c70| 69 61 74 65 29 20 3b 09 | 09 09 09 2f 2f 20 44 72 |iate) ;.|...// Dr|
|00001c80| 61 77 20 74 68 65 20 61 | 6e 69 6d 61 74 69 6f 6e |aw the a|nimation|
|00001c90| 20 74 72 69 61 6e 67 6c | 65 0d 20 20 20 09 20 20 | triangl|e. . |
|00001ca0| 3a 3a 4c 44 72 61 77 20 | 28 74 68 65 43 65 6c 6c |::LDraw |(theCell|
|00001cb0| 2c 20 6d 4d 61 63 4c 69 | 73 74 48 29 20 3b 0d 20 |, mMacLi|stH) ;. |
|00001cc0| 20 20 09 20 20 3a 3a 44 | 65 6c 61 79 20 28 6b 41 | . ::D|elay (kA|
|00001cd0| 6e 69 6d 61 74 69 6f 6e | 44 65 6c 61 79 2c 20 26 |nimation|Delay, &|
|00001ce0| 6c 29 20 3b 0d 20 20 20 | 09 20 20 74 77 69 73 74 |l) ;. |. twist|
|00001cf0| 20 3d 20 28 54 77 69 73 | 74 44 6f 77 6e 52 65 63 | = (Twis|tDownRec|
|00001d00| 50 74 72 29 20 47 65 74 | 43 65 6c 6c 50 74 72 20 |Ptr) Get|CellPtr |
|00001d10| 28 74 68 65 43 65 6c 6c | 29 20 3b 0d 20 20 20 09 |(theCell|) ;. .|
|00001d20| 20 20 43 6c 65 61 72 54 | 44 46 6c 61 67 20 28 74 | ClearT|DFlag (t|
|00001d30| 77 69 73 74 2d 3e 66 6c | 61 67 73 2c 20 6b 44 72 |wist->fl|ags, kDr|
|00001d40| 61 77 49 6e 74 65 72 6d | 65 64 69 61 74 65 29 20 |awInterm|ediate) |
|00001d50| 3b 0d 20 20 20 09 20 20 | 0d 20 20 20 09 20 20 3a |;. . |. . :|
|00001d60| 3a 4c 53 65 74 44 72 61 | 77 69 6e 67 4d 6f 64 65 |:LSetDra|wingMode|
|00001d70| 20 28 66 61 6c 73 65 2c | 20 6d 4d 61 63 4c 69 73 | (false,| mMacLis|
|00001d80| 74 48 29 20 3b 09 09 09 | 09 09 2f 2f 20 68 65 72 |tH) ;...|..// her|
|00001d90| 65 20 73 65 6e 64 20 6d | 65 73 73 61 67 65 c9 20 |e send m|essage. |
|00001da0| 0d 20 20 20 09 20 20 69 | 66 20 28 54 65 73 74 54 |. . i|f (TestT|
|00001db0| 44 46 6c 61 67 20 28 74 | 77 69 73 74 2d 3e 66 6c |DFlag (t|wist->fl|
|00001dc0| 61 67 73 2c 20 6b 49 73 | 4f 70 65 6e 65 64 29 29 |ags, kIs|Opened))|
|00001dd0| 09 09 09 09 09 2f 2f 20 | c9 74 6f 20 65 78 70 61 |.....// |.to expa|
|00001de0| 6e 64 2f 63 6f 6c 6c 61 | 70 73 65 20 73 75 62 6c |nd/colla|pse subl|
|00001df0| 69 73 74 0d 20 20 20 09 | 20 20 09 7b 20 43 6c 65 |ist. .| .{ Cle|
|00001e00| 61 72 54 44 46 6c 61 67 | 20 28 74 77 69 73 74 2d |arTDFlag| (twist-|
|00001e10| 3e 66 6c 61 67 73 2c 20 | 6b 49 73 4f 70 65 6e 65 |>flags, |kIsOpene|
|00001e20| 64 29 20 3b 0d 20 20 20 | 09 20 20 09 20 20 43 6f |d) ;. |. . Co|
|00001e30| 6c 6c 61 70 73 65 45 6c | 65 6d 65 6e 74 20 28 74 |llapseEl|ement (t|
|00001e40| 68 65 43 65 6c 6c 29 20 | 3b 0d 20 20 20 09 20 20 |heCell) |;. . |
|00001e50| 09 7d 0d 20 20 20 09 20 | 20 65 6c 73 65 0d 20 20 |.}. . | else. |
|00001e60| 20 09 20 20 09 7b 20 53 | 65 74 54 44 46 6c 61 67 | . .{ S|etTDFlag|
|00001e70| 20 28 74 77 69 73 74 2d | 3e 66 6c 61 67 73 2c 20 | (twist-|>flags, |
|00001e80| 6b 49 73 4f 70 65 6e 65 | 64 29 20 3b 0d 20 20 20 |kIsOpene|d) ;. |
|00001e90| 09 20 20 09 20 20 45 78 | 70 61 6e 64 45 6c 65 6d |. . Ex|pandElem|
|00001ea0| 65 6e 74 20 28 74 68 65 | 43 65 6c 6c 29 20 3b 0d |ent (the|Cell) ;.|
|00001eb0| 20 20 20 09 20 20 09 7d | 0d 20 20 20 09 20 20 3a | . .}|. . :|
|00001ec0| 3a 4c 53 65 74 44 72 61 | 77 69 6e 67 4d 6f 64 65 |:LSetDra|wingMode|
|00001ed0| 20 28 74 72 75 65 2c 20 | 6d 4d 61 63 4c 69 73 74 | (true, |mMacList|
|00001ee0| 48 29 20 3b 09 09 09 09 | 09 09 2f 2f 20 72 65 64 |H) ;....|..// red|
|00001ef0| 72 61 77 20 6c 69 73 74 | 20 61 67 61 69 6e c9 0d |raw list| again..|
|00001f00| 20 20 20 09 20 20 74 77 | 69 73 74 20 3d 20 28 54 | . tw|ist = (T|
|00001f10| 77 69 73 74 44 6f 77 6e | 52 65 63 50 74 72 29 20 |wistDown|RecPtr) |
|00001f20| 47 65 74 43 65 6c 6c 50 | 74 72 20 28 74 68 65 43 |GetCellP|tr (theC|
|00001f30| 65 6c 6c 29 20 3b 0d 20 | 20 20 09 20 20 43 6c 65 |ell) ;. | . Cle|
|00001f40| 61 72 54 44 46 6c 61 67 | 20 28 74 77 69 73 74 2d |arTDFlag| (twist-|
|00001f50| 3e 66 6c 61 67 73 2c 20 | 6b 44 72 61 77 46 69 6c |>flags, |kDrawFil|
|00001f60| 6c 65 64 29 20 3b 0d 20 | 20 20 09 20 20 68 69 74 |led) ;. | . hit|
|00001f70| 52 65 63 74 20 3d 20 28 | 2a 6d 4d 61 63 4c 69 73 |Rect = (|*mMacLis|
|00001f80| 74 48 29 2d 3e 72 56 69 | 65 77 20 3b 0d 20 20 20 |tH)->rVi|ew ;. |
|00001f90| 09 20 20 52 65 73 69 7a | 65 46 72 61 6d 65 42 79 |. Resiz|eFrameBy|
|00001fa0| 20 28 30 2c 20 30 2c 20 | 74 72 75 65 29 20 3b 09 | (0, 0, |true) ;.|
|00001fb0| 2f 2f 20 74 68 69 73 20 | 77 6f 72 6b 73 20 6d 6f |// this |works mo|
|00001fc0| 72 65 20 63 6f 72 72 65 | 63 74 6c 79 20 77 68 65 |re corre|ctly whe|
|00001fd0| 6e 20 63 6f 6c 6c 61 70 | 73 69 6e 67 20 26 20 72 |n collap|sing & r|
|00001fe0| 6f 77 73 20 61 72 65 20 | 27 61 62 6f 76 65 27 20 |ows are |'above' |
|00001ff0| 74 68 65 20 74 6f 70 0d | 20 20 20 09 20 20 72 65 |the top.| . re|
|00002000| 74 75 72 6e 20 3b 0d 20 | 20 20 20 7d 0d 20 20 0d |turn ;. | }. .|
|00002010| 65 6e 64 3a 20 20 09 2f | 2f 20 6d 6f 75 73 65 64 |end: ./|/ moused|
|00002020| 6f 77 6e 20 77 61 73 20 | 6e 6f 74 20 69 6e 20 61 |own was |not in a|
|00002030| 20 62 75 74 74 6f 6e c9 | 0d 20 20 69 6e 68 65 72 | button.|. inher|
|00002040| 69 74 65 64 3a 3a 43 6c | 69 63 6b 53 65 6c 66 20 |ited::Cl|ickSelf |
|00002050| 28 69 6e 4d 6f 75 73 65 | 44 6f 77 6e 29 20 3b 0d |(inMouse|Down) ;.|
|00002060| 7d 0d 0d 2f 2f 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |}..//---|--------|
|00002070| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002080| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002090| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000020a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000020b0| 2d 0d 0d 76 6f 69 64 20 | 43 54 77 69 73 74 44 6f |-..void |CTwistDo|
|000020c0| 77 6e 4c 69 73 74 42 6f | 78 3a 3a 44 72 61 77 45 |wnListBo|x::DrawE|
|000020d0| 6c 65 6d 65 6e 74 53 65 | 6c 66 20 28 63 6f 6e 73 |lementSe|lf (cons|
|000020e0| 74 20 52 65 63 74 20 2a | 6c 52 65 63 74 2c 20 0d |t Rect *|lRect, .|
|000020f0| 09 09 09 09 09 09 09 09 | 09 09 20 63 6f 6e 73 74 |........|.. const|
|00002100| 20 76 6f 69 64 20 2a 6c | 45 6c 65 6d 65 6e 74 2c | void *l|Element,|
|00002110| 20 0d 09 09 09 09 09 09 | 09 09 09 09 20 63 6f 6e | .......|.... con|
|00002120| 73 74 20 73 68 6f 72 74 | 20 6c 44 61 74 61 4c 65 |st short| lDataLe|
|00002130| 6e 29 0d 09 09 09 09 09 | 09 09 09 09 09 20 0d 2f |n)......|..... ./|
|00002140| 2f 20 44 72 61 77 20 61 | 20 73 69 6e 67 6c 65 20 |/ Draw a| single |
|00002150| 6c 69 73 74 20 63 65 6c | 6c 20 6f 6e 20 74 68 65 |list cel|l on the|
|00002160| 20 73 63 72 65 65 6e 2e | 0d 2f 2f 20 43 68 65 63 | screen.|.// Chec|
|00002170| 6b 73 20 66 6c 61 67 73 | 20 61 6e 64 20 64 72 61 |ks flags| and dra|
|00002180| 77 73 20 74 72 69 61 6e | 67 75 6c 61 72 20 62 75 |ws trian|gular bu|
|00002190| 74 74 6f 6e 20 69 66 20 | 6e 65 65 64 65 64 3b 0d |tton if |needed;.|
|000021a0| 2f 2f 20 63 61 6c 6c 73 | 20 44 72 61 77 54 77 69 |// calls| DrawTwi|
|000021b0| 73 74 65 64 45 6c 65 6d | 65 6e 74 20 74 6f 20 64 |stedElem|ent to d|
|000021c0| 72 61 77 20 63 65 6c 6c | 20 63 6f 6e 74 65 6e 74 |raw cell| content|
|000021d0| 73 2e 0d 0d 7b 20 0d 20 | 20 54 77 69 73 74 44 6f |s...{ . | TwistDo|
|000021e0| 77 6e 52 65 63 50 74 72 | 20 74 77 69 73 74 45 6c |wnRecPtr| twistEl|
|000021f0| 65 6d 65 6e 74 20 3d 20 | 28 54 77 69 73 74 44 6f |ement = |(TwistDo|
|00002200| 77 6e 52 65 63 50 74 72 | 29 20 6c 45 6c 65 6d 65 |wnRecPtr|) lEleme|
|00002210| 6e 74 20 3b 0d 0d 20 20 | 69 66 20 28 54 65 73 74 |nt ;.. |if (Test|
|00002220| 54 44 46 6c 61 67 20 28 | 74 77 69 73 74 45 6c 65 |TDFlag (|twistEle|
|00002230| 6d 65 6e 74 2d 3e 66 6c | 61 67 73 2c 20 6b 48 61 |ment->fl|ags, kHa|
|00002240| 73 53 75 62 4c 69 73 74 | 29 29 0d 09 20 20 7b 20 |sSubList|)).. { |
|00002250| 50 6f 6c 79 48 61 6e 64 | 6c 65 09 61 50 6f 6c 79 |PolyHand|le.aPoly|
|00002260| 20 3d 20 4e 55 4c 4c 20 | 3b 0d 09 09 0d 09 09 61 | = NULL |;......a|
|00002270| 50 6f 6c 79 20 3d 20 54 | 65 73 74 54 44 46 6c 61 |Poly = T|estTDFla|
|00002280| 67 28 74 77 69 73 74 45 | 6c 65 6d 65 6e 74 2d 3e |g(twistE|lement->|
|00002290| 66 6c 61 67 73 2c 20 6b | 49 73 4f 70 65 6e 65 64 |flags, k|IsOpened|
|000022a0| 29 20 3f 20 73 4f 70 65 | 6e 65 64 50 6f 6c 79 20 |) ? sOpe|nedPoly |
|000022b0| 3a 20 73 43 6c 6f 73 65 | 64 50 6f 6c 79 20 3b 0d |: sClose|dPoly ;.|
|000022c0| 09 09 69 66 20 28 54 65 | 73 74 54 44 46 6c 61 67 |..if (Te|stTDFlag|
|000022d0| 28 74 77 69 73 74 45 6c | 65 6d 65 6e 74 2d 3e 66 |(twistEl|ement->f|
|000022e0| 6c 61 67 73 2c 20 6b 44 | 72 61 77 49 6e 74 65 72 |lags, kD|rawInter|
|000022f0| 6d 65 64 69 61 74 65 29 | 29 0d 09 09 09 61 50 6f |mediate)|)....aPo|
|00002300| 6c 79 20 3d 20 73 49 6e | 74 65 72 6d 65 64 69 61 |ly = sIn|termedia|
|00002310| 74 65 50 6f 6c 79 20 3b | 0d 09 09 69 66 20 28 61 |tePoly ;|...if (a|
|00002320| 50 6f 6c 79 29 0d 09 20 | 20 20 20 09 44 72 61 77 |Poly).. | .Draw|
|00002330| 54 72 69 61 6e 67 6c 65 | 20 28 61 50 6f 6c 79 2c |Triangle| (aPoly,|
|00002340| 20 0d 09 20 20 20 20 09 | 09 09 09 20 20 54 65 73 | .. .|... Tes|
|00002350| 74 54 44 46 6c 61 67 28 | 74 77 69 73 74 45 6c 65 |tTDFlag(|twistEle|
|00002360| 6d 65 6e 74 2d 3e 66 6c | 61 67 73 2c 20 6b 44 72 |ment->fl|ags, kDr|
|00002370| 61 77 46 69 6c 6c 65 64 | 29 2c 0d 09 20 20 20 20 |awFilled|),.. |
|00002380| 09 09 09 20 20 09 20 20 | 6c 52 65 63 74 2d 3e 74 |... . |lRect->t|
|00002390| 6f 70 2b 31 2c 20 0d 09 | 20 20 20 20 09 09 09 20 |op+1, ..| ... |
|000023a0| 20 09 20 20 6c 52 65 63 | 74 2d 3e 6c 65 66 74 2b | . lRec|t->left+|
|000023b0| 6b 54 72 69 61 6e 67 6c | 65 4f 75 74 73 69 64 65 |kTriangl|eOutside|
|000023c0| 47 61 70 29 20 3b 0d 09 | 20 20 7d 0d 0d 20 20 3a |Gap) ;..| }.. :|
|000023d0| 3a 4d 6f 76 65 54 6f 20 | 28 6c 52 65 63 74 2d 3e |:MoveTo |(lRect->|
|000023e0| 6c 65 66 74 20 2b 20 74 | 72 69 61 6e 67 6c 65 57 |left + t|riangleW|
|000023f0| 69 64 74 68 20 2b 20 32 | 20 2b 20 74 77 69 73 74 |idth + 2| + twist|
|00002400| 45 6c 65 6d 65 6e 74 2d | 3e 69 6e 64 65 6e 74 2a |Element-|>indent*|
|00002410| 6b 49 6e 64 65 6e 74 4f | 66 66 73 65 74 2c 0d 09 |kIndentO|ffset,..|
|00002420| 09 20 20 20 20 6c 52 65 | 63 74 2d 3e 74 6f 70 20 |. lRe|ct->top |
|00002430| 2b 20 31 30 29 20 3b 0d | 20 20 44 72 61 77 54 77 |+ 10) ;.| DrawTw|
|00002440| 69 73 74 65 64 45 6c 65 | 6d 65 6e 74 20 28 6c 52 |istedEle|ment (lR|
|00002450| 65 63 74 2c 20 74 77 69 | 73 74 45 6c 65 6d 65 6e |ect, twi|stElemen|
|00002460| 74 2c 20 6c 44 61 74 61 | 4c 65 6e 29 20 3b 0d 7d |t, lData|Len) ;.}|
|00002470| 0d 0d 2f 2f 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |..//----|--------|
|00002480| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002490| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000024a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000024b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000024c0| 0d 0d 76 6f 69 64 20 43 | 54 77 69 73 74 44 6f 77 |..void C|TwistDow|
|000024d0| 6e 4c 69 73 74 42 6f 78 | 3a 3a 44 72 61 77 54 77 |nListBox|::DrawTw|
|000024e0| 69 73 74 65 64 45 6c 65 | 6d 65 6e 74 20 28 63 6f |istedEle|ment (co|
|000024f0| 6e 73 74 20 52 65 63 74 | 20 2a 6c 52 65 63 74 2c |nst Rect| *lRect,|
|00002500| 20 0d 09 09 09 09 09 09 | 09 09 09 09 09 63 6f 6e | .......|.....con|
|00002510| 73 74 20 54 77 69 73 74 | 44 6f 77 6e 52 65 63 50 |st Twist|DownRecP|
|00002520| 74 72 20 74 77 69 73 74 | 45 6c 65 6d 65 6e 74 2c |tr twist|Element,|
|00002530| 20 0d 09 09 09 09 09 09 | 09 09 09 09 09 63 6f 6e | .......|.....con|
|00002540| 73 74 20 73 68 6f 72 74 | 20 6c 44 61 74 61 4c 65 |st short| lDataLe|
|00002550| 6e 29 0d 0d 2f 2f 20 44 | 72 61 77 20 63 6f 6e 74 |n)..// D|raw cont|
|00002560| 65 6e 74 73 20 6f 66 20 | 61 20 73 69 6e 67 6c 65 |ents of |a single|
|00002570| 20 6c 69 73 74 20 65 6c | 65 6d 65 6e 74 2e 0d 2f | list el|ement../|
|00002580| 2f 20 44 65 66 61 75 6c | 74 20 76 65 72 73 69 6f |/ Defaul|t versio|
|00002590| 6e 20 6a 75 73 74 20 64 | 72 61 77 73 20 74 65 78 |n just d|raws tex|
|000025a0| 74 3b 20 6f 76 65 72 72 | 69 64 65 20 66 6f 72 20 |t; overr|ide for |
|000025b0| 6f 74 68 65 72 20 74 79 | 70 65 73 20 6f 66 20 64 |other ty|pes of d|
|000025c0| 61 74 61 2e 0d 0d 7b 0d | 20 20 3a 3a 44 72 61 77 |ata...{.| ::Draw|
|000025d0| 54 65 78 74 20 28 74 77 | 69 73 74 45 6c 65 6d 65 |Text (tw|istEleme|
|000025e0| 6e 74 2d 3e 64 61 74 61 | 2c 20 30 2c 20 6c 44 61 |nt->data|, 0, lDa|
|000025f0| 74 61 4c 65 6e 2d 54 77 | 69 73 74 44 6f 77 6e 52 |taLen-Tw|istDownR|
|00002600| 65 63 53 69 7a 65 29 20 | 3b 0d 7d 0d 0d 2f 2f 2d |ecSize) |;.}..//-|
|00002610| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002620| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002630| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002640| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002650| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 0d 2f 2f 20 55 |--------|---.// U|
|00002660| 73 65 72 20 63 6c 6f 73 | 65 64 20 61 20 73 75 62 |ser clos|ed a sub|
|00002670| 6c 69 73 74 2e 20 20 52 | 65 6d 6f 76 65 20 61 6c |list. R|emove al|
|00002680| 6c 20 73 75 62 6c 69 73 | 74 73 20 68 61 6e 67 69 |l sublis|ts hangi|
|00002690| 6e 67 20 66 72 6f 6d 20 | 74 68 69 73 20 65 6c 65 |ng from |this ele|
|000026a0| 6d 65 6e 74 2e 0d 2f 2f | 20 4f 76 65 72 72 69 64 |ment..//| Overrid|
|000026b0| 65 20 69 6e 20 63 61 73 | 65 20 61 6e 20 65 6c 65 |e in cas|e an ele|
|000026c0| 6d 65 6e 74 20 63 6f 6e | 74 61 69 6e 73 20 61 20 |ment con|tains a |
|000026d0| 70 6f 69 6e 74 65 72 20 | 74 6f 20 73 6f 6d 65 20 |pointer |to some |
|000026e0| 61 6c 6c 6f 63 61 74 65 | 64 20 6d 65 6d 6f 72 79 |allocate|d memory|
|000026f0| 2e 0d 0d 76 6f 69 64 20 | 43 54 77 69 73 74 44 6f |...void |CTwistDo|
|00002700| 77 6e 4c 69 73 74 42 6f | 78 3a 3a 43 6f 6c 6c 61 |wnListBo|x::Colla|
|00002710| 70 73 65 45 6c 65 6d 65 | 6e 74 20 28 63 6f 6e 73 |pseEleme|nt (cons|
|00002720| 74 20 43 65 6c 6c 20 74 | 68 65 43 65 6c 6c 29 0d |t Cell t|heCell).|
|00002730| 7b 20 73 68 6f 72 74 09 | 09 09 09 63 6f 75 6e 74 |{ short.|...count|
|00002740| 20 3d 20 30 20 3b 0d 20 | 20 54 77 69 73 74 44 6f | = 0 ;. | TwistDo|
|00002750| 77 6e 52 65 63 50 74 72 | 09 74 77 69 73 74 20 3d |wnRecPtr|.twist =|
|00002760| 20 28 54 77 69 73 74 44 | 6f 77 6e 52 65 63 50 74 | (TwistD|ownRecPt|
|00002770| 72 29 20 47 65 74 43 65 | 6c 6c 50 74 72 20 28 74 |r) GetCe|llPtr (t|
|00002780| 68 65 43 65 6c 6c 29 20 | 3b 0d 20 20 73 68 6f 72 |heCell) |;. shor|
|00002790| 74 09 09 09 09 68 65 61 | 64 49 6e 64 65 6e 74 20 |t....hea|dIndent |
|000027a0| 3d 20 74 77 69 73 74 2d | 3e 69 6e 64 65 6e 74 20 |= twist-|>indent |
|000027b0| 3b 0d 20 20 43 65 6c 6c | 09 09 09 09 63 65 6c 6c |;. Cell|....cell|
|000027c0| 20 3d 20 74 68 65 43 65 | 6c 6c 20 3b 0d 20 20 0d | = theCe|ll ;. .|
|000027d0| 20 20 66 6f 72 20 28 63 | 65 6c 6c 2e 76 2b 2b 20 | for (c|ell.v++ |
|000027e0| 3b 20 3b 20 63 65 6c 6c | 2e 76 2b 2b 29 0d 20 20 |; ; cell|.v++). |
|000027f0| 20 20 7b 20 74 77 69 73 | 74 20 3d 20 28 54 77 69 | { twis|t = (Twi|
|00002800| 73 74 44 6f 77 6e 52 65 | 63 50 74 72 29 20 47 65 |stDownRe|cPtr) Ge|
|00002810| 74 43 65 6c 6c 50 74 72 | 20 28 63 65 6c 6c 29 20 |tCellPtr| (cell) |
|00002820| 3b 0d 20 20 20 20 20 20 | 69 66 20 28 74 77 69 73 |;. |if (twis|
|00002830| 74 20 3d 3d 20 4e 55 4c | 4c 29 0d 20 20 20 20 20 |t == NUL|L). |
|00002840| 20 09 62 72 65 61 6b 20 | 3b 0d 20 20 20 20 20 20 | .break |;. |
|00002850| 69 66 20 28 74 77 69 73 | 74 2d 3e 69 6e 64 65 6e |if (twis|t->inden|
|00002860| 74 20 3c 3d 20 68 65 61 | 64 49 6e 64 65 6e 74 29 |t <= hea|dIndent)|
|00002870| 0d 20 20 20 20 20 20 09 | 62 72 65 61 6b 20 3b 0d |. .|break ;.|
|00002880| 20 20 20 20 20 20 63 6f | 75 6e 74 2b 2b 20 3b 0d | co|unt++ ;.|
|00002890| 20 20 20 20 7d 0d 20 20 | 20 0d 20 20 69 66 20 28 | }. | . if (|
|000028a0| 63 6f 75 6e 74 29 0d 20 | 20 20 09 3a 3a 4c 44 65 |count). | .::LDe|
|000028b0| 6c 52 6f 77 20 28 63 6f | 75 6e 74 2c 20 74 68 65 |lRow (co|unt, the|
|000028c0| 43 65 6c 6c 2e 76 2b 31 | 2c 20 6d 4d 61 63 4c 69 |Cell.v+1|, mMacLi|
|000028d0| 73 74 48 29 20 3b 0d 7d | 0d 0d 2f 2f 2d 2d 2d 2d |stH) ;.}|..//----|
|000028e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000028f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002900| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002910| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002920| 2d 2d 2d 2d 2d 2d 2d 2d | 0d 2f 2f 20 59 6f 75 27 |--------|.// You'|
|00002930| 64 20 62 65 74 74 65 72 | 20 6f 76 65 72 72 69 64 |d better| overrid|
|00002940| 65 20 6d 65 21 0d 0d 76 | 6f 69 64 20 43 54 77 69 |e me!..v|oid CTwi|
|00002950| 73 74 44 6f 77 6e 4c 69 | 73 74 42 6f 78 3a 3a 45 |stDownLi|stBox::E|
|00002960| 78 70 61 6e 64 45 6c 65 | 6d 65 6e 74 20 28 63 6f |xpandEle|ment (co|
|00002970| 6e 73 74 20 43 65 6c 6c | 20 74 68 65 43 65 6c 6c |nst Cell| theCell|
|00002980| 29 0d 7b 0d 7d 0d 0d 2f | 2f 2d 2d 2d 2d 2d 2d 2d |).{.}../|/-------|
|00002990| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000029a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000029b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000029c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000029d0| 2d 2d 2d 2d 2d 0d 0d 73 | 74 61 74 69 63 20 76 6f |-----..s|tatic vo|
|000029e0| 69 64 20 44 72 61 77 54 | 72 69 61 6e 67 6c 65 20 |id DrawT|riangle |
|000029f0| 28 50 6f 6c 79 48 61 6e | 64 6c 65 20 61 50 6f 6c |(PolyHan|dle aPol|
|00002a00| 79 2c 20 63 6f 6e 73 74 | 20 42 6f 6f 6c 65 61 6e |y, const| Boolean|
|00002a10| 20 64 72 61 77 46 69 6c | 6c 65 64 2c 0d 09 09 20 | drawFil|led,... |
|00002a20| 20 20 20 09 09 09 20 20 | 63 6f 6e 73 74 20 73 68 | ... |const sh|
|00002a30| 6f 72 74 20 70 6f 73 56 | 2c 20 63 6f 6e 73 74 20 |ort posV|, const |
|00002a40| 73 68 6f 72 74 20 70 6f | 73 48 29 0d 7b 20 63 6f |short po|sH).{ co|
|00002a50| 6e 73 74 20 73 68 6f 72 | 74 20 6b 47 72 61 79 6e |nst shor|t kGrayn|
|00002a60| 65 73 73 20 3d 20 34 20 | 3b 09 09 09 2f 2f 20 31 |ess = 4 |;...// 1|
|00002a70| 20 66 6f 72 20 69 6e 74 | 65 72 6d 65 64 69 61 74 | for int|ermediat|
|00002a80| 65 20 67 72 61 79 2c 20 | 38 20 66 6f 72 20 76 65 |e gray, |8 for ve|
|00002a90| 72 79 20 6c 69 67 68 74 | 20 67 72 61 79 0d 0d 20 |ry light| gray.. |
|00002aa0| 20 3a 3a 4f 66 66 73 65 | 74 50 6f 6c 79 20 28 61 | ::Offse|tPoly (a|
|00002ab0| 50 6f 6c 79 2c 20 70 6f | 73 48 2c 20 70 6f 73 56 |Poly, po|sH, posV|
|00002ac0| 29 3b 09 09 2f 2f 20 6d | 6f 76 65 20 70 6f 6c 79 |);..// m|ove poly|
|00002ad0| 20 74 6f 20 74 68 65 20 | 72 69 67 68 74 20 73 70 | to the |right sp|
|00002ae0| 6f 74 0d 0d 20 20 69 66 | 20 28 64 72 61 77 46 69 |ot.. if| (drawFi|
|00002af0| 6c 6c 65 64 29 0d 20 20 | 20 20 20 3a 3a 46 69 6c |lled). | ::Fil|
|00002b00| 6c 50 6f 6c 79 28 61 50 | 6f 6c 79 2c 20 26 71 64 |lPoly(aP|oly, &qd|
|00002b10| 2e 62 6c 61 63 6b 29 3b | 0d 20 20 65 6c 73 65 0d |.black);|. else.|
|00002b20| 20 20 20 7b 20 52 47 42 | 43 6f 6c 6f 72 20 66 6f | { RGB|Color fo|
|00002b30| 72 65 43 6f 6c 6f 72 3b | 0d 09 20 52 47 42 43 6f |reColor;|.. RGBCo|
|00002b40| 6c 6f 72 20 73 61 76 65 | 46 6f 72 65 43 6f 6c 6f |lor save|ForeColo|
|00002b50| 72 3b 0d 09 20 52 47 42 | 43 6f 6c 6f 72 20 62 61 |r;.. RGB|Color ba|
|00002b60| 63 6b 43 6f 6c 6f 72 3b | 0d 20 09 0d 09 20 3a 3a |ckColor;|. ... ::|
|00002b70| 47 65 74 46 6f 72 65 43 | 6f 6c 6f 72 28 26 66 6f |GetForeC|olor(&fo|
|00002b80| 72 65 43 6f 6c 6f 72 29 | 3b 0d 09 20 3a 3a 47 65 |reColor)|;.. ::Ge|
|00002b90| 74 42 61 63 6b 43 6f 6c | 6f 72 28 26 62 61 63 6b |tBackCol|or(&back|
|00002ba0| 43 6f 6c 6f 72 29 3b 0d | 09 20 73 61 76 65 46 6f |Color);.|. saveFo|
|00002bb0| 72 65 43 6f 6c 6f 72 20 | 3d 20 66 6f 72 65 43 6f |reColor |= foreCo|
|00002bc0| 6c 6f 72 3b 0d 0d 09 20 | 2f 2f 20 54 68 69 73 20 |lor;... |// This |
|00002bd0| 6c 6f 6f 70 20 73 65 74 | 73 20 66 6f 72 65 43 6f |loop set|s foreCo|
|00002be0| 6c 6f 72 20 74 6f 20 61 | 20 76 65 72 79 20 6c 69 |lor to a| very li|
|00002bf0| 67 68 74 20 67 72 61 79 | 2e 0d 09 20 66 6f 72 20 |ght gray|... for |
|00002c00| 28 73 68 6f 72 74 20 69 | 20 3d 20 30 3b 20 69 20 |(short i| = 0; i |
|00002c10| 3c 20 6b 47 72 61 79 6e | 65 73 73 3b 20 69 2b 2b |< kGrayn|ess; i++|
|00002c20| 29 0d 09 20 20 20 69 66 | 20 28 3a 3a 47 65 74 47 |).. if| (::GetG|
|00002c30| 72 61 79 28 47 65 74 47 | 44 65 76 69 63 65 28 29 |ray(GetG|Device()|
|00002c40| 2c 20 26 62 61 63 6b 43 | 6f 6c 6f 72 2c 20 26 66 |, &backC|olor, &f|
|00002c50| 6f 72 65 43 6f 6c 6f 72 | 29 20 3d 3d 20 66 61 6c |oreColor|) == fal|
|00002c60| 73 65 29 0d 09 09 09 62 | 72 65 61 6b 3b 0d 0d 09 |se)....b|reak;...|
|00002c70| 20 69 66 20 28 28 66 6f | 72 65 43 6f 6c 6f 72 2e | if ((fo|reColor.|
|00002c80| 72 65 64 20 20 20 3d 3d | 20 30 29 20 26 26 0d 09 |red ==| 0) &&..|
|00002c90| 20 09 20 28 66 6f 72 65 | 43 6f 6c 6f 72 2e 67 72 | . (fore|Color.gr|
|00002ca0| 65 65 6e 20 3d 3d 20 30 | 29 20 26 26 0d 09 20 09 |een == 0|) &&.. .|
|00002cb0| 20 28 66 6f 72 65 43 6f | 6c 6f 72 2e 62 6c 75 65 | (foreCo|lor.blue|
|00002cc0| 20 20 3d 3d 20 30 29 29 | 0d 09 20 20 20 3a 3a 45 | == 0))|.. ::E|
|00002cd0| 72 61 73 65 50 6f 6c 79 | 20 28 61 50 6f 6c 79 29 |rasePoly| (aPoly)|
|00002ce0| 20 3b 0d 09 20 65 6c 73 | 65 0d 09 20 20 7b 20 3a | ;.. els|e.. { :|
|00002cf0| 3a 52 47 42 46 6f 72 65 | 43 6f 6c 6f 72 28 26 66 |:RGBFore|Color(&f|
|00002d00| 6f 72 65 43 6f 6c 6f 72 | 29 3b 0d 09 09 3a 3a 46 |oreColor|);...::F|
|00002d10| 69 6c 6c 50 6f 6c 79 28 | 61 50 6f 6c 79 2c 20 26 |illPoly(|aPoly, &|
|00002d20| 71 64 2e 62 6c 61 63 6b | 29 3b 0d 09 09 3a 3a 52 |qd.black|);...::R|
|00002d30| 47 42 46 6f 72 65 43 6f | 6c 6f 72 28 26 73 61 76 |GBForeCo|lor(&sav|
|00002d40| 65 46 6f 72 65 43 6f 6c | 6f 72 29 3b 0d 09 20 20 |eForeCol|or);.. |
|00002d50| 7d 0d 0d 09 20 3a 3a 46 | 72 61 6d 65 50 6f 6c 79 |}... ::F|ramePoly|
|00002d60| 20 28 61 50 6f 6c 79 29 | 20 3b 0d 20 20 20 7d 0d | (aPoly)| ;. }.|
|00002d70| 20 20 20 0d 20 20 3a 3a | 4f 66 66 73 65 74 50 6f | . ::|OffsetPo|
|00002d80| 6c 79 20 28 61 50 6f 6c | 79 2c 20 2d 70 6f 73 48 |ly (aPol|y, -posH|
|00002d90| 2c 20 2d 70 6f 73 56 29 | 3b 0d 7d 0d 0d 2f 2f 2d |, -posV)|;.}..//-|
|00002da0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002db0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002dc0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002dd0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002de0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 0d 0d 00 00 00 |--------|---.....|
|00002df0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002e00| 00 00 01 00 00 00 01 4c | 00 00 00 4c 00 00 00 32 |.......L|...L...2|
|00002e10| 9a 4c 03 fa 1a 3e 3c fe | 57 c3 02 3e 3c fe 57 5d |.L...><.|W..><.W]|
|00002e20| a1 99 6c 01 fe 79 50 04 | 02 2a 60 12 3e 3c fe 03 |..l..yP.|.*`.><..|
|00002e30| 14 43 54 77 69 73 74 44 | 6f 77 6e 4c 69 73 74 42 |.CTwistD|ownListB|
|00002e40| 6f 78 2e 63 70 44 02 00 | 00 00 54 45 58 54 4d 4d |ox.cpD..|..TEXTMM|
|00002e50| 00 00 54 45 58 54 4d 4d | 43 43 01 00 ff ff ff ff |..TEXTMM|CC......|
|00002e60| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002e70| 00 00 aa 29 37 79 00 00 | 2d 6d 00 00 01 7e aa 41 |...)7y..|-m...~.A|
|00002e80| ee fd 00 43 ee fb ec 70 | 7f 30 d9 51 c8 ff fc 60 |...C...p|.0.Q...`|
|00002e90| 10 3f 3c 5e e5 01 00 ae | 20 32 13 2f 2d f7 b0 3f |.?<^....| 2./-..?|
|00002ea0| 3c 69 57 12 fd 00 a9 47 | 5d 01 00 13 e5 01 00 90 |<iW....G|].......|
|00002eb0| 20 32 20 34 5e 57 20 35 | d9 9a 01 67 4a 5d 4d e5 | 2 4^W 5|...gJ]M.|
|00002ec0| 32 20 32 5d 74 e5 01 00 | 5c 57 20 33 01 00 0b e5 |2 2]t...|\W 3....|
|00002ed0| a2 20 32 20 34 6f 57 20 | 35 77 39 20 27 07 0d 52 |. 2 4oW |5w9 '..R|
|00002ee0| 65 73 6f 75 72 63 65 20 | 6d 65 6e 75 63 5b 60 b8 |esource |menuc[`.|
|00002ef0| 01 3f 2e 4f 5a 4d 5a 75 | 50 01 00 5a 12 28 5f 20 |.?.OZMZu|P..Z.(_ |
|00002f00| 00 00 00 48 00 09 4d 6f | 6e 61 63 6f 00 00 00 00 |...H..Mo|naco....|
|00002f10| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002f20| 00 00 00 00 00 00 00 03 | 00 04 00 28 00 0a 01 c2 |........|...(....|
|00002f30| 02 80 00 28 00 0a 01 c2 | 02 80 aa 9e 63 ce 00 00 |...(....|....c...|
|00002f40| 00 00 00 00 00 00 00 00 | 00 00 01 00 00 00 01 00 |........|........|
|00002f50| 00 00 01 4c 00 00 00 4c | 00 00 00 32 00 8b 24 30 |...L...L|...2..$0|
|00002f60| 0e 54 00 00 00 1c 00 32 | 00 00 4d 50 53 52 00 00 |.T.....2|..MPSR..|
|00002f70| 00 0a 03 ed ff ff 00 00 | 00 00 00 00 00 00 00 00 |........|........|
+--------+-------------------------+-------------------------+--------+--------+